--[[
描述 ： 图片显示
作者 ： 付大志
时间 ： 13/08/08
]]

UIImageView = Class(MLView,'UIImageView');

UIImageView.id     	  = nil;     -- 唯一标识
UIImageView.viewCtrl  = nil;     -- 所属viewCtrl
UIImageView.image     = nil;     -- 图片路径

UIImageView.mWidth    = nil;     -- 宽度
UIImageView.mHeight   = nil;     -- 高度

--[[
功能   ： 初始化 UIImageView 控件
参数   ：
       image        --  图片路径
       width        --  宽度
       height       --  高度
       viewCtrl     --  所属viewCtrl
返回   ： UIImageView 实例
]]
function UIImageView:init(image, width, height, viewCtrl, id)

  width  = width or UITheme.IMAGEVIEW_WIDTH;
  height = height or UITheme.IMAGEVIEW_HEIGHT;

  self:initView(width, height, viewCtrl, id);

  self.mWidth = width;
  self.mHeight = height;
  self.image = image or UIImage.imageName(UITheme.IMAGEVIEW_DEFAULT) ;
  self.isStretch = true;
  return self;
end

--[[
功能   ： 画控件
参数   ： 无
返回   ： 无
]]
function UIImageView:draw()
  local iw, ih;
  local g = self:getGraphic();
  g:clear();
  local image = self.image;
  if image then iw, ih = image:getWH(); end
  if iw == nil or ih == nil then return; end
  if self.isStretch == true then
    if image then
      g:drawImage(image, 0, 0, self.mWidth, self.mHeight);
    end
  else
    local x = 0;
    local y = 0;
    -- 按比例缩放
    --print('-----按比例缩放--前--iw,ih,self.mWidth,self.mHeight=',iw,ih,self.mWidth,self.mHeight);
    if iw > self.mWidth or ih > self.mHeight then
      local bl;
      --			local spw =  iw-self.mWidth;
      --			local sph =  ih-self.mHeight;
      --			print('-----按比例缩放--前--spw,sph=',spw,sph);
      --			if spw > sph then bl = spw/iw  else bl = sph/ih;
      --			end
      local spw =  self.mWidth/iw;
      local sph =  self.mHeight/ih;
      --print('-----按比例缩放--前--spw,sph=',spw,sph);
      if spw > sph then bl = sph  else bl = spw;
      end
      iw = iw*bl;
      ih = ih*bl;
    --print('-----按比例缩放--后--iw,ih=',iw,ih);
    end

    if iw < self.mWidth then
      x =  (self.mWidth - iw) /2;
    end
    if ih < self.mHeight then
      y =  (self.mHeight - ih) /2;
    end
    g:drawImage(image, x, y, iw, ih);
  end
end

--[[
功能   ： 显示控件
参数   ： 无
返回   ： 无
]]
function UIImageView:show()
  self:draw();
end

--[[
功能   ： 更新控件
参数   ： 无
返回   ： 无
]]
function UIImageView:update()
  self:show();
end



--[[
-----使用方法 V2.0
local image = UIImageView.new():init(UIImage.imageName('1.png'),AW(50), AW(50), self);
rootView:add(image, 0, 0);

]]


